Network-based control of a media device

ABSTRACT

Embodiments described herein enable a media device to be controlled from any location via a network-based device. For example, a user, using a control device, initiates a command that identifies media content to be streamed by the media device. The command is transmitted to a proxy device coupled to the media device and a network-based device. The proxy device transmits the command to the network-based device, which translates the command into a format compatible with the media device. The translated command is transmitted to the proxy device, which transmits the translated command to the media device. The media device streams the media content based on the received translated command. Alternatively, the control device and the proxy device are integrated as a single device, which generates and transmits the command to the network-based device, receives the translated command from the network-based device, and transmits the translated command to the media device.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a divisional application of U.S. applicationSer. No. 15/370,838, entitled “NETWORK-BASED CONTROL OF A MEDIA DEVICE,”filed on Dec. 6, 2016, which claims priority to U.S. Provisional PatentApplication No. 62/263,905, entitled “SCHEMES FOR CONTROLLING DEVICESREQUIRING A SECOND SCREEN,” filed Dec. 7, 2015, the entirety of each ofwhich is incorporated by reference herein.

BACKGROUND Technical Field

The present invention relates to methods, systems, and apparatuses fornetwork-based control of a media device.

Background Art

Digital entertainment is no longer limited to the content provided viasatellite or a cable set top box. A host of alternative devices calledInternet streaming devices (e.g., Apple TV®, Roku®, Amazon Fire TV®,etc.) are available to stream content on demand via an Internetconnection to a television. Each of these devices runs multipleapplications (Netflix®, Amazon Prime Video®, iTunes®, etc.) fromdifferent content providers with a variety of content. Navigatingthrough the plethora of content available through each of the differentproviders can be a cumbersome process, especially for users who are notaccustomed to using such streaming devices.

BRIEF SUMMARY

Methods, systems, and apparatuses are described for network-basedcontrol of a media device, substantially as shown in and/or describedherein in connection with at least one of the figures, as set forth morecompletely in the claims.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

The accompanying drawings, which are incorporated herein and form a partof the specification, illustrate embodiments and, together with thedescription, further serve to explain the principles of the embodimentsand to enable a person skilled in the pertinent art to make and use theembodiments.

FIG. 1 is a block diagram of a system that is configured to enablenetwork-based control of a media device in accordance with anembodiment.

FIG. 2 depicts a flowchart of a method implemented by a proxy devicethat enables network-based control of a media device in accordance withan embodiment.

FIG. 3 is a block diagram of a proxy device in accordance with anembodiment.

FIG. 4 depicts a flowchart of a method implemented by a network-baseddevice that enables network-based control of a media device inaccordance with an embodiment.

FIG. 5 is a block diagram of a server in accordance with an embodiment.

FIG. 6 is a block diagram of a system that is configured to enablenetwork-based control of a media device using an integratedcontrol/proxy device in accordance with an embodiment.

FIG. 7 depicts a flowchart of a method implemented by a control devicethat enables network-based control of a media device in accordance withan embodiment.

FIG. 8 is a block diagram of an integrated control/proxy device inaccordance with an embodiment.

FIG. 9 is a block diagram of a computer system in accordance with anembodiment.

Embodiments will now be described with reference to the accompanyingdrawings. In the drawings, like reference numbers indicate identical orfunctionally similar elements. Additionally, the left-most digit(s) of areference number identifies the drawing in which the reference numberfirst appears.

DETAILED DESCRIPTION

Introduction

The present specification discloses numerous example embodiments. Thescope of the present patent application is not limited to the disclosedembodiments, but also encompasses combinations of the disclosedembodiments, as well as modifications to the disclosed embodiments.

References in the specification to “one embodiment,” “an embodiment,”“an example embodiment,” etc., indicate that the embodiment describedmay include a particular feature, structure, or characteristic, butevery embodiment may not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it is submitted that it is within the knowledge of oneskilled in the art to affect such feature, structure, or characteristicin connection with other embodiments whether or not explicitlydescribed.

Furthermore, it should be understood that spatial descriptions (e.g.,“above,” “below,” “up,” “left,” “right,” “down,” “top,” “bottom,”“vertical,” “horizontal,” “front,” “rear,” etc.) used herein are forpurposes of illustration only, and that practical implementations of thestructures described herein can be spatially arranged in any orientationor manner.

Numerous exemplary embodiments are described as follows. It is notedthat the section/subsection headings used herein are not intended to belimiting. Embodiments described in this document may be eligible forinclusion within multiple different sections or subsections.Furthermore, disclosed embodiments may be combined with each other inany manner.

A method implemented by a proxy device communicatively coupled to amedia device is described herein. In accordance with the method, theproxy device receives a first command comprising a first identifier thatidentifies an item of media content to be played back via the mediadevice. The proxy device transmits the first command to a network-baseddevice. The proxy device receives a second command from thenetwork-based device. The second command is configured to cause themedia device to play back the item of media content via a display devicecoupled to the media device. The proxy device transmits the secondcommand to the media device.

A method implemented by a control device communicatively coupled to amedia device is also described herein. In accordance with the method,the control device generates a first command comprising a firstidentifier that identifies an item of media content to be played backvia the media device. The proxy device transmits the first command to anetwork-based device. The proxy device receives a second command fromthe network-based device. The second command is configured to cause themedia device to play back the item of media content via a display devicecoupled to the media device. The proxy device transmits the secondcommand to the media device.

A method implemented by a network-based device is further describedherein. In accordance with the method, a first command is received thatcomprises a first identifier that identifies an item of media content tobe played back via a media device that is remotely located from thenetwork-based device. The first command is formatted in accordance witha first operating protocol. The first command is translated into asecond command. The second command is formatted in accordance with asecond operating protocol that is compatible with the media device. Thesecond command is transmitted to a proxy device communicatively coupledto the network-based device and the media device.

Example Embodiments

Embodiments described herein enable a media device (e.g., an Internetstreaming device) to be controlled from any location a network-baseddevice. For example, a control device may be used by a user to initiatea command that at least identifies an item of media content to bestreamed by the media device. The control device may be located withinthe same premises and/or connected to the same network as the mediadevice and/or the display device. Alternatively, the control device maynot be located within the same premises and/or not connected to the samenetwork as the media device and/or the display device. In accordancewith an embodiment, the command is transmitted to a proxy devicecommunicatively coupled to the media device and a network-based device.The proxy device transmits the command to the network-based device, andthe network-based device translates the command into a format that iscompatible with the media device. The translated command is transmittedto the proxy device, and the proxy device transmits the translatedcommand to the media device. The media device is configured to streammedia content based on the received translated command.

Such embodiments advantageously enable a user that is remotely locatedfrom the media device to cause the media device to stream media contentfor a user that is proximately located to the media device. For example,suppose a child at home wants to watch a certain kids show via the mediadevice, but the child does not know how to operate the media device. Thechild may contact the parent, who may be at work, and ask the parent toinitiate playback of the show via the media device. Using his or hercontrol device, the parent may issue a command to the network-baseddevice, and the network-based device provides the translated command tothe proxy device located at home. The proxy device provides thetranslated command to the media device, and the media device beginsstreaming the kids show in accordance with the translated command.

In accordance with another embodiment, the control device and the proxydevice are integrated as a single device. In accordance with such anembodiment, the integrated control/proxy device generates and transmitsthe command to the network-based device, receives the translated commandfrom the network-based device, and transmits the translated command tothe media device.

Such embodiments may further enable a graphical user interface (GUI)that is configured to be rendered on a portable device that isconfigured to exclusively control the media device (also referred to asa “second screen device”) to be rendered onto a display device coupledto the media device. This advantageously enables a plurality of users toview and interact with the GUI (as opposed to a single user viewing andinteracting with a GUI rendered on the second screen device).

Subsection A describes embodiments that are used to enable network-basedcontrol of a media device using a proxy device. Subsection B describesembodiments that are used to enable network-based control of a mediadevice using an integrated control/proxy device.

A. Network-Based Control of a Media Device Using a Proxy Device

FIG. 1 is a block diagram of a system 100 that is configured to enablenetwork-based control of a media device 106 in accordance with anembodiment. As shown in FIG. 1, system 100 includes a proxy device 102,a control device 104, media device 106, a display device 108 and aserver 110. Proxy device 102, media device 106 and/or display device 108may be located within the same premises (e.g., the same living room,family room, bedroom, house, etc.) and/or may be communicatively coupledvia the same wired and/or wireless (e.g., Wi-Fi) network. In particular,proxy device 102, media device 106 and/or display device 108 may beconnected to the same subnetwork (or “subnet”).

Control device 104 may be configured to initiate playback of an item ofmedia content via media device 106 and display device 108 regardless ofwhether control device 104 is located within the same premises as and/orconnected to the same network as proxy device 102, media device 106and/or display device 108. For example, control device 104 may beconfigured to transmit one or more commands that initiate playback ofthe item of media content from any location so long as control device104 is communicatively coupled with proxy device 102 and/or server 110.The command(s) may include an identifier associated with the user thatinitiates the command, an identifier of the item of media content and/oran identifier of the content-providing source that provides the item ofmedia content.

In accordance with an embodiment, the command(s) may be based on (e.g.,generated in response to) a voice command. For example, control device104 may include a microphone configured to capture audio signals.Control device 104 may be configured to analyze audio signals to detectvoice commands included therein, identify the item of media contentand/or content-providing source specified by the user, and transmitcommand(s) including a unique identifier associated with the user and/orcontrol device 104 (e.g., an Internet Protocol (IP) address of controldevice 104, a media access control (MAC) address of control device 104,etc.) and identifiers for the item of media content and/or thecontent-providing sources. Examples of control device 104 in such anembodiment include a remote control device comprising a microphone, acomputer, a mobile device, such as a telephone (e.g., a smart phoneand/or mobile phone), a personal data assistant (PDA), a tablet, alaptop computer, etc., and/or any computing device or consumerelectronic device equipped with a microphone.

In accordance with another embodiment, control device 104 enables theuser to transmit a command identifying the item of media content and/orthe content-providing source via an email message, a text message (e.g.,a Short Message Service (SMS)-based message), and/or the like. Inaccordance with such an embodiment, the unique identifier associatedwith the user and/or control device 104 may be the user's email addressand/or phone number. Examples of control device 104 in such anembodiment, may be a telephone (e.g., a smart phone and/or mobilephone), a personal data assistant (PDA), a tablet, a laptop computer, acomputer and/or any device enabled to transmit email messages and/ortext messages, etc.

In accordance with yet another embodiment, control device 104 mayexecute a software application that enables a user to make a selection,for example, via a graphical user interface (GUI), for the item of mediacontent and/or the content-providing source. After making a selection,the software application may generate and provide a command includingthe unique identifier associated with user and/or control device 104 andidentifiers for the item of media content and/or the content-providingsources.

In an embodiment in which control device 104 is located within the samepremises as and/or or connected to the same network as proxy device 102,media device 106 and/or display device 108, control device 104 isconfigured to transmit the command(s) directly to proxy device 102. Forexample, voice-based commands and/or software application-basedcommands, as described above, may be transmitted to proxy device 102. Inaccordance with such an embodiment, the command(s) may be transmittedvia a wired connection (e.g., via a Universal Serial Bus (USB) cable, acoaxial cable, etc.) or via a wireless connection (e.g., via infrared(IR) communication, radio frequency (RF) communication (e.g.,Bluetooth™, as described in the various standards developed and licensedby the Bluetooth™ Special Interest Group, technologies such as ZigBee®that are based on the IEEE 802.15.4 standard for wireless personal areanetworks, near field communication (NFC), other RF-based or Internetprotocol (IP)-based communication technologies such as any of thewell-known IEEE 802.11 protocols, etc.)) and/or the like.

In an embodiment in which control device 104 is not located within thesame premises as and/or not connected to the same network as proxydevice 102, media device 106 and/or display device 108, the command(s)may be provided to server 110 via communications network 112. Forexample, email message-based commands, text message-based commands,and/or software application-based commands, as described above, may betransmitted to server 110 via communications network 112. Examples ofcommunications network 112 include a combination of one or more of atelecommunications network (e.g., a 3rd Generation Partnership Project(3GPP)-based network, such as a Long Term Evolution (LTE) network, aUniversal Mobile Telecommunications System (UMTS), an Evolution-DataOptimized (EV-DO)-based network, etc.) and/or the Internet.

Proxy device 102 may be configured to receive the command(s) fromcontrol device 104 and transmit the command(s) to server 110 viacommunications network 112. The command(s) may be formatted inaccordance with an operating protocol that is not compatible with mediadevice 106. As described below, server 110 may be configured totranslate the command(s) into a format that is compatible with mediadevice 106.

Proxy device 102 may be further configured to determine whether mediadevice 106 is coupled to the same network as proxy device 102. Upondetermining that media device 106 is connected to the same network,proxy device 102 communicates with media device 106 to determine variouscharacteristics thereof. Such characteristics may include, but are notlimited to, a location identifier (e.g., an IP address) of media device106, an operating protocol used by media device 106, and/or thecontent-providing services offered by media device 106. The operatingprotocol may include the communications protocol used by media device(e.g., an IP-based communications protocol, an RF-based communicationsprotocol, etc.) and/or the format in which media device 106 transmitsand receives data (e.g., data packets). Proxy device 102 may transmitone or more messages identifying the determined characteristics toserver 110. Examples of proxy device 102 include, but are not limitedto, a set-top box, a switching device, an audio/video receiver, acomputing device (e.g., a computer, a tablet, a laptop, etc.), a router,a gateway device, etc.

Server 110 may be implemented in a server or distributed serverenvironment (e.g., a networked server(s) or “in the cloud”). Server 110includes application control logic 114. Application control logic 114may be configured to receive message(s) and command(s), as describedabove, from proxy device 102 via communications network 112. Applicationcontrol logic 114 determines the characteristics of media device 106included in the message(s) provided by proxy device 102 and stores thecharacteristics as part of a data structure (e.g., a table) that mapsthe characteristics to media device 106. Upon receiving command(s) fromcontrol device 104 or proxy device 102 (that were initiated from controldevice 104), application control logic 114 determines the useridentifier, media content identifier, and/or the content-provideridentifier therefrom. Using the user identifier, application controllogic 114 looks up the media device (e.g., media device 106) associatedwith the user within the data structure, along with the locationidentifier of the media device and/or the operating protocol used by themedia device. After determining the media device associated with theuser, the location identifier of the media device and/or the operatingprotocol used by the media device, application control logic 114translates the command(s) received from proxy device 102 into a formatthat is compatible with the media device. For example, applicationcontrol logic 114 may format the command(s) received from proxy device102 such that they are formatted in accordance with the operatingprotocol utilized by media device 106. For example, control device 104and/or proxy device 102 may utilize an IR-based, RF-based, a firstIP-based protocol and/or a proprietary operating protocol to transmitcommand(s) to server 110. Media device 106 may utilize a second IP-basedprotocol that is different than the operating protocol utilized bycontrol device 104 and/or proxy device 102. In accordance with such anexample, application control logic 114 translates the command(s)received from control device 104 and/or proxy device 102 such that thetranslated command(s) are in accordance with the second IP-basedprotocol.

The translated command(s) include the media content identifier and/orthe content-provider identifier determined from the command receivedfrom proxy device 102. The translated command is provided to proxydevice 102, and proxy device 102 provides the translated command tomedia device 106.

Media device 106 may be configured to execute one or more applications(e.g., Netflix®, Amazon Prime® Video, HBO Go®, etc.) published bydifferent content providers. Media device 106 is configured to streammedia content on demand via the Internet using the application(s). Themedia content to be streamed and/or the content provider to provide themedia content is identified in the translated command provided by proxydevice 102. In accordance with an embodiment, the item of media contentto be streamed via media device 106 may be provided directly to displaydevice 108 for playback thereby. In accordance with another embodiment,the item of media content to be streamed via media device 106 may beprovided to proxy device 102, and proxy device 102 provides the item ofmedia content to display device 108 for playback thereby. Examples ofmedia device 106 include, but are not limited to, an Internet streamingdevice (e.g., Apple TV®, Roku®, Amazon Fire® TV, a Google Chromecast®etc.), a game console (e.g., Microsoft® Xbox®, Sony® PlayStation®,etc.), and/or any other device suitably configured to stream mediacontent via the Internet.

Examples of display device 108 includes, but are not limited to, atelevision, a projector, a monitor, a display integrated into a device(e.g., a computer, phone, wearable device), and/or the like.

In accordance with an embodiment, media device 106 is configured to becontrolled exclusively by a portable device, such as a smartphone, atablet, a laptop, etc. That is, the GUI is only presented via theportable device (i.e., the GUI is not presented via a display device(e.g., display device 108). In such an embodiment, such portable devicesare referred to as second screen devices. The supposed benefit to such aconfiguration is that it is easier to discover content using a screenthat is within an arm's length from the user.

However, there are disadvantages to having to use only a second screendevice to discover and control content. For example, it can becumbersome, as these second screen devices are not dedicated for use asa control device because they perform other functions (e.g., makingphone calls, composing/viewing e-mail etc., executing a wide variety ofsoftware applications, etc.). Hence, they are not optimized for“no-look” control like traditional remote control devices. For example,in order to control media device 106, the user must take the secondscreen device out of stand-by and find and launch a specific applicationthat enables the user to control media device 106.

In addition, such second screen devices have a small display screen,which is not ideal when a plurality of users are trying to decide on anitem of media content to watch. Engaging in media content can be asocial experience and the lack of a GUI on display device 108 that aplurality of users (e.g., family and friends) can view to participate inthe selection of content is a limitation.

To overcome these limitations, application control logic 114 may beconfigured to retrieve metadata from media device 106 and/or generatemetadata associated with the media content available via theapplication(s) executing on media device 106 that stream media content.For example, the metadata may identify the media content and/or theapplication(s) that provide each item of media content. Proxy device 102may be configured to retrieve the metadata from application controllogic 114 and cause display device 108 to render a GUI enabling user(s)to select an item of media content using the GUI.

Accordingly, in embodiments, a proxy device may enable network-basedcontrol of a media device in many ways. For instance, FIG. 2 depicts aflowchart 200 of a method implemented by a proxy device that enablesnetwork-based control of a media device in accordance with anembodiment. The method of flowchart 200 may be implemented by proxydevice 102 shown in FIG. 1. FIG. 3 is a block diagram 300 of a proxydevice 302 in accordance with an embodiment. Proxy device 302 is anexample of proxy device 102, as described above in reference to FIG. 1.As shown in FIG. 3, proxy device 302 includes control logic 304. Otherstructural and operational embodiments will be apparent to personsskilled in the relevant art(s) based on the following discussionregarding flowchart 200 and proxy device 302.

Flowchart 200 begins with step 202. At step 202, the proxy devicereceives a first command comprising a first identifier that identifiesan item of media content to be played back via the media device. Forexample, with reference to FIG. 3, control logic 304 receives a firstcommand 308 comprising a first identifier that identifies an item ofmedia content to be played back via the media device (e.g., media device106, as shown in FIG. 1).

In accordance with one or more embodiments, the proxy device and themedia device are connected a first network. For example, the proxydevice and the media device may be connected to the same wired orwireless network.

In accordance with one or more embodiments, the first command isinitiated from a device (e.g., control device 104, as shown in FIG. 1)that is not connected to the first network. For example, the firstcommand may be initiated from a remote control device that is notequipped with network capabilities. Instead, the remote control devicemay be communicatively coupled to the proxy device via a connectionother than the first network (e.g., via an IR-based communicationprotocol or an RF-based communication protocol link).

In accordance with one or more embodiments, the proxy device isconfigured to receive the first command via at least one of an IR-basedcommunication protocol or an RF-based communication protocol. Forexample, as described above, the remote control device may transmit thefirst command to the proxy device via an IR or RF-based communicationprotocol. In accordance with such embodiments(s), control logic 304 maycomprise an IR receiver and/or an RF receiver.

In accordance with one or embodiments, the first command (e.g., firstcommand 308) further comprises a second identifier that identifies acontent-providing service from which the media device provides the itemof media content.

In accordance with one or more embodiments, the first command is basedon a voice-based command (e.g., “Play Game of Thrones, Season 1, Episode4 using HBO Go”). For example, the device initiating the command (e.g.,control device 104, as shown in FIG. 1) may be a device that includes amicrophone configured to capture audio signals. The device may beconfigured to analyze audio signals to detect voice commands includedtherein, identify the item of media content and/or content-providingsource specified by the user, and transmit command(s) (e.g., firstcommand 308) including a unique identifier associated with the userand/or the device and identifiers for the item of media content and/orthe content-providing sources. Examples of the device include a remotecontrol device comprising a microphone, a computer, a mobile device,such as a telephone (e.g., a smart phone and/or mobile phone), apersonal data assistant (PDA), a tablet, a laptop, and/or any computingdevice or consumer electronic device equipped with a microphone.

In accordance with one or more embodiments, the first command isinitiated from a device (e.g., control device 104, as shown in FIG. 1)that is connected to the first network. For example, the first commandmay be initiated by a device that is coupled to the same network (e.g.,wired or wireless network) to which the proxy device and the mediadevice are coupled. Examples of such a device include a remote controldevice that includes networking capabilities, a computer, a mobiledevice, such as a telephone (e.g., a smart phone and/or mobile phone), apersonal data assistant (PDA), a tablet, a laptop, etc.

In accordance with such embodiment(s), the first command may comprise anIP-based command. For example, the device may transmit one or moreIP-based packets that include the first command to the proxy device. Forinstance, the control device may execute a software application thatenables a user to make a selection, for example, via a GUI, for the itemof media content and/or the content-providing source to provide the itemof media content for playback via the media device (media device 106, asshown in FIG. 1) and/or display device (display device 108, as shown inFIG. 1). After making a selection, the software application may generateand provide an IP packet that includes the first command. The firstcommand may be transmitted to the proxy device. In accordance with suchembodiments(s), control logic 304 may comprise an IP-based receiver.

At step 204, the proxy device transmits the receive command to anetwork-based device. For example, as shown in FIG. 3, control logic 304transmits first command 308 to the network-based device (e.g., server110, as shown in FIG. 1).

In accordance with one or more embodiment(s), control device 304transmits first command 308 as part of one or more IP-based packets. Inaccordance with such embodiments(s), control logic 304 may comprise anIP-based transmitter.

At step 206, the proxy device receives a second command from thenetwork-based device. The second command is configured to cause themedia device to play back the item of media content via a display devicecoupled to the media device. For example, as shown in FIG. 3, controllogic 304 may receive a second command 310 from the network-based device(e.g., server 110, as shown in FIG. 1). Additional details regarding howthe network-based device generates the second command is provided belowwith reference to FIGS. 4 and 5.

At step 208, the proxy device transmits the second command to the mediadevice. For example, with reference to FIG. 3, control logic 304transmits second command 310 to the media device (e.g., media device106, as shown in FIG. 1).

In accordance with one or more embodiment(s), control logic 304transmits second command 308 as part of one or more IP-based packets.

In accordance with one or more embodiments, the proxy device receivesthe item of media content from the media device and the proxy deviceprovides the item of media content to the display device for playbackthereby. For example, responsive to receiving second command 310, themedia device begins streaming the item of media content to the proxydevice. With reference to FIG. 3, control logic 304 receives an item ofmedia content 312 and transmits item of media content 312 to the displaydevice (e.g., display device 108, as shown in FIG. 1) for playbackthereby.

In accordance with one or more embodiments, instead of the media deviceproviding the item of media content to the proxy device, the mediadevice may provide the item of media content directly to the displaydevice.

In accordance with one or more embodiments, the media device comprisesan Internet streaming device. Examples of media device include, but arenot limited to, an Internet streaming device (e.g., Apple TV®, Roku®,Amazon Fire® TV, a Google Chromecast®, etc.), a game console (e.g.,Microsoft® Xbox®, Sony® PlayStation®, etc.), and/or any deviceconfigured to stream media content via the Internet.

In embodiments, a network-based device may enable network-based controlof a media device in many ways. For instance, FIG. 4 depicts a flowchart400 of a method implemented by a network-based device that enablesnetwork-based control of a media device in accordance with anembodiment. The method of flowchart 400 may be implemented by server 110shown in FIG. 1. FIG. 5 is a block diagram of a server 510 in accordancewith an embodiment. Server 510 is an example of a network-based deviceand is an example of server 110, as described above in reference toFIG. 1. As shown in FIG. 5, server 510 includes a receive interface 502,application control logic 514 and a transmit interface 504. Applicationcontrol logic 514 is an example of application control logic 114, asshown in FIG. 1. As shown in FIG. 5, application control logic 514includes translation logic 516 and a data structure 518. Data structure518 may be stored in storage (memory) that is accessible to applicationcontrol logic 514. Other structural and operational embodiments will beapparent to persons skilled in the relevant art(s) based on thefollowing discussion regarding flowchart 400 and server 510.

Flowchart 400 begins with step 402. At step 402, a first command thatcomprises a first identifier that identifies an item of media content tobe played back via a media device that is remotely located from thenetwork-based device is received. For example, with reference to FIG. 5,receive interface 502 receives a first command 508 that comprises afirst identifier that identifies an item of media content to be playedback via the media device (e.g., media device 106, as shown in FIG. 1).First command 508 may be an example of first command 308 transmitted bycontrol logic 304, as shown in FIG. 3.

In accordance with one or more embodiments, the first command furthercomprises a second identifier that identifies a content-providingservice from which the media device provides the item of media content.

In accordance with one or more embodiments, the first command isprovided by a control device (e.g., control device 104) via acommunications network (e.g., communications network 112, as shown inFIG. 1). In accordance with such embodiments, the first command maycomprise an SMS-based message. For example, the control device (e.g.,control device 104, as shown in FIG. 1) may be a telephone (e.g., asmart phone) that is enabled to transmit SMS-based messages. Using thecontrol device, the user may compose a text message (e.g., “PlayBreaking Bad, Season 3, Episode 1”), and the control device may transmitthe text message to the network-based device (e.g., via communicationsnetwork 112, as shown in FIG. 1). Alternatively, the first command maycomprise one or more IP-based commands. For example, the control devicemay execute a software application that enables a user to make aselection, for example, via a GUI, for the item of media content and/orthe content-providing source to provide the item of media content forplayback via the media device (media device 106, as shown in FIG. 1)and/or display device (display device 108, as shown in FIG. 1). Aftermaking a selection, the software application may generate and provideone or more IP packets that include the first command. The first commandmay be transmitted to the network-based device via communicationsnetwork 112, as shown in FIG. 1. In accordance with such embodiments,the control device need not be located in the same premises as the mediadevice. In particular, the control device may be located in any locationso long as the control device is communicatively coupled to thecommunications network and enabled to transmit such IP-based commands.

In accordance with one or more embodiments, the first command isprovided by a proxy device (e.g., proxy device 102) via communicationsnetwork 112, as shown in FIG. 1. In accordance with such embodiments,the first command may be based on a voice-based command (e.g., “PlayGame of Thrones, Season 1, Episode 4 using HBO Go”). For example, thedevice initiating the command (e.g., control device 104, as shown inFIG. 1) may be a device that includes a microphone configured to captureaudio signals. The device may be configured to analyze audio signals todetect voice commands included therein, identify the media contentand/or content-providing source specified by the user, and transmitcommand(s) (e.g., first command 508) including a unique identifierassociated with the user and/or the device and identifiers for the itemof media content and/or the content-providing sources. Alternatively,the first command may comprise one or more IP-based commands. Forexample, the control device may execute a software application thatenables a user to make a selection, for example, via a GUI, for the itemof media content and/or the content-providing source to provide the itemof media content for playback via the media device (media device 106, asshown in FIG. 1) and/or display device (display device 108, as shown inFIG. 1). After making a selection, the software application may generateand provide one or more IP packets that include the first command. Ineither example, the command(s) are provided to the proxy device, and theproxy device transmits the command(s) (e.g., first command 508) toserver 510. Examples of the device include a remote control devicecomprising a microphone, a computer, a mobile device, such as atelephone (e.g., a smart phone and/or mobile phone), a personal dataassistant (PDA), a tablet, a laptop, etc. and/or any computing device orconsumer electronic device equipped with a microphone.

At step 404, the first command is translated into a second command. Thesecond command is formatted in accordance with a second operatingprotocol that is compatible with the media device. For example, withreference to FIG. 5, receive interface 502 provides first command 508 totranslation logic 516. Translation logic 516 translates first command508 to second command 512. For example, translation logic 516 may accessdata structure 518 that contains a mapping between the media device andcertain characteristics thereof. For instance, upon receiving firstcommand 508, translation logic 516 may determine the user identifier,media content identifier and/or content-provider identifier from firstcommand 508 and look up the characteristics of the media deviceassociated with the user identifier. Such characteristics may include,the location identifier of the media device and the communicationsprotocol used by media device. Using this information, translation logic516 may translate first command 508 into second command 512, which is ina format that is compatible with the media device. For example,translation logic 516 may format second command 512 such that it isformatted in accordance with the operating protocol utilized by themedia device.

At step 406, the second command is transmitted to a proxy devicecommunicatively coupled to the network-based device and the mediadevice. For example, with reference to FIG. 5, transmit interface 504transmits second command 512 to a proxy device (e.g., proxy device 102,a shown in FIG. 1) communicatively coupled to server 510 and the mediadevice (e.g., media device 106, as shown in FIG. 1).

In accordance with one or more embodiments, the second command comprisesat least one of the first identifier and the second identifier.

In accordance with one or more embodiments, the network-based devicemaintains metadata associated with items of media content provided byone or more content providing sources. The metadata may be provided tothe proxy device. The proxy device may be operable to render a GUI to bedisplayed on a display device using the metadata.

B. Network-Based Control of a Media Device Using an IntegratedControl/Proxy Device

In accordance with an embodiment, the proxy device and the controldevice may be integrated as a single device. For example, the device maybe configured to generate command(s) that are configured to initiateplayback of media content via a media device and transmit suchcommand(s) to the network-based device without using an intermediaryproxy device.

Accordingly, FIG. 6 is a block diagram of a system 600 that isconfigured to enable network-based control of a media device 106 usingan integrated control/proxy device 602 in accordance with an embodiment.As shown in FIG. 6, system 600 includes integrated control/proxy device602, media device 606, a display device 608 and a server 610. Integratedcontrol/proxy device 602, media device 606 and/or display device 108 maybe located within the same premises (e.g., the same living room, familyroom, bedroom, house, etc.) and are communicatively coupled via the samewired or wireless (e.g., Wi-Fi) network. In particular, integratedcontrol/proxy device 602, media device 606 and/or display device 608 maybe connected to the same subnetwork (or “subnet”). Integratedcontrol/proxy device 602 may be communicatively coupled to server 610via Internet 612.

Integrated control/proxy device 602 may be configured to initiateplayback of an item of media content via media device 606 and displaydevice 608. For example, integrated control/proxy device 602 may beconfigured to generate and transmit one or more commands that initiateplayback of the item of media content. The command(s) may include anidentifier associated with the user that initiates the command, anidentifier of the item of media content and/or an identifier of thecontent-providing source that provides the item of media content.

In accordance with an embodiment, the command(s) may be based on a voicecommand. For example, integrated control/proxy device 602 may include amicrophone configured to capture audio signals. Integrated control/proxydevice 602 may be configured to analyze audio signals to detect voicecommands included therein, identify the media content and/orcontent-providing source specified by the user, and transmit command(s)including a unique identifier associated with the user and/or integratedcontrol/proxy device 602 (e.g., an Internet Protocol (IP) address ofintegrated control/proxy device 602, a media access control (MAC)address of integrated control/proxy device 602, etc.) and identifiersfor the media content and/or the content-providing sources. Examples ofintegrated control/proxy device 602 in such an embodiment include adevice executing an intelligent personal assistant (e.g., an AmazonAlexa® device, a Google Home®, etc.), a computer, a mobile device, suchas a telephone (e.g., a smart phone), a personal data assistant (PDA), atablet, a laptop, etc. and/or device equipped with a microphone and/orcommunicatively coupled to server 610 via Internet 612.

In accordance with another embodiment, integrated control/proxy device602 may execute a software application that enables a user to make aselection, for example, via a GUI, for the item of media content and/orthe content-providing source. After making a selection, the softwareapplication may generate and transmit a command including the uniqueidentifier associated with the user and/or integrated control/proxydevice 602 and identifiers for the item of media content and/or thecontent-providing sources.

Integrated control/proxy device 602 is configured to transmit thecommand(s) to server 610. The command(s) may be formatted in accordancewith an operating protocol that is not compatible with media device 606.The command(s) may be transmitted to server 610 as one or more IP-basedpackets via Internet 612.

Integrated control/proxy device 602 may be further configured todetermine whether media device 606 is coupled to the same network asintegrated control/proxy device 602. Upon determining that media device606 is connected to the same network, integrated control/proxy device602 communicates with media device 606 to determine variouscharacteristics thereof. Such characteristics may include, but are notlimited to, a location identifier (e.g., an IP address) of media device606, an operating protocol used by media device 606, and/or thecontent-providing services offered by media device. Integratedcontrol/proxy device 602 may transmit one or more messages identifyingthe determined characteristics to server 610.

Server 610 is an example of server 110, as shown in FIG. 1. Accordingly,server 610 may be implemented in a server or distributed serverenvironment (e.g., a networked server(s) or “in the cloud”). Server 610includes application control logic 614. Application control logic 614 isan example of application control logic 114, as shown in FIG. 1.Accordingly, application control logic 614 may be configured to receivemessage(s) and command(s), as described above, from integratedcontrol/proxy device 602 via Internet 612. Application control logic 614determines the characteristics of media device 606 included in themessage(s) provided by proxy device 602 and stores the characteristicsin a data structure (e.g., a table) that maps the characteristics tomedia device 606. Upon receiving command(s) from integratedcontrol/proxy device 602, application control logic 614 determines theuser identifier, media content identifier, and/or the content-provideridentifier therefrom. Using the user identifier, application controllogic 614 looks up the media device (e.g., media device 606) associatedwith the user within the data structure, along with the locationidentifier of the media device and/or the operating protocol used by themedia device. After determining the media device associated with theuser, the location identifier of the media device and/or the operatingprotocol used by the media device, application control logic 614translates the command(s) received from integrated control/proxy device602 into a format that is compatible with the media device. For example,application control logic 614 may format the command(s) received fromintegrated control/proxy device 602 such that they are formatted inaccordance with the operating protocol utilized by media device 606. Inaccordance with an embodiment, the translated command is provided tointegrated control/proxy device 602, and integrated control/proxy deviceproxy device 602 provides the translated command to media device 606. Inaccordance with another embodiment, the translated command is provideddirectly to media device 606 (i.e., without being provided to integratedcontrol/proxy device 602 first).

Media device 606 is an example of media device 106, as shown in FIG. 1.

Accordingly, media device 606 may be configured to execute one or moreapplications (e.g., Netflix®, Amazon Prime® Video, HBO Go®, etc.) fromdifferent content providers. Media device 606 is configured to streammedia content on demand via the Internet using the application(s). Theitem of media content to be streamed and/or the content provider toprovide the media content is identified in the translated commandprovided by integrated control/proxy device 602. In accordance with anembodiment, the item of media content to be streamed via media device606 may be provided directly to display device 608 for playback thereby.In accordance with another embodiment, the item of media content to bestreamed via media device 606 may be provided to integratedcontrol/proxy device 602, and integrated control/proxy device 602provides the item of media content to display device 608 for playbackthereby.

Display device 608 is an example of display device 108, as shown in FIG.1.

Accordingly, in embodiments, an integrated control/proxy device mayenable network-based control of a media device in many ways. Forinstance, FIG. 7 depicts a flowchart 700 of a method implemented by acontrol device (e.g., an integrated control/proxy device 602, as shownin FIG. 6) that enables network-based control of a media device inaccordance with an embodiment. The method of flowchart 700 may beimplemented by integrated control/proxy device 802 shown in FIG. 8. FIG.8 is a block diagram 800 of an integrated control/proxy device 802 inaccordance with an embodiment. Integrated control/proxy device 802 is anexample of integrated control/proxy device 602, as described above inreference to FIG. 6. As shown in FIG. 8, integrated control/proxy device802 includes a receive interface 804, command generation logic 806 and atransmit interface 808. Other structural and operational embodimentswill be apparent to persons skilled in the relevant art(s) based on thefollowing discussion regarding flowchart 700 and integratedcontrol/proxy device 802.

Flowchart 700 begins with step 702. At step 702, the control devicegenerates a first command comprising a first identifier that identifiesan item of media content to be played back via the media device. Forexample, with reference to FIG. 8, command generation logic 806generates a first command 810 comprising a first identifier thatidentifies an item of media content to be played back via the mediadevice (e.g., media device 606, as shown in FIG. 6).

In accordance with one or more embodiments, the control device and themedia device are connected a first network. For example, the controldevice and the media device may be connected to the same wired orwireless network.

In accordance with one or more embodiments, the first command is basedon a voice-based command (e.g., “Play Game of Thrones, Season 1, Episode4 using HBO Go”). For example, integrated control/proxy device 802 maycomprise a microphone configured to capture audio signals. Commandgeneration logic 806 may analyze the captured audio signals to detectvoice commands included therein, identify the item of media contentand/or content-providing source specified by the user, and generatefirst command 810 including a unique identifier associated with the userand/or the device and identifiers for the item of media content and/orthe content-providing sources. Examples of the control device include adevice executing an intelligent personal assistant (e.g., an AmazonAlexa® device, a Google Home®, etc.), a computer, a mobile device, suchas a telephone (e.g., a smart phone), a personal data assistant (PDA), atablet, a laptop, etc. and/or device equipped with a microphone and/orcommunicatively coupled to the network-based device via the Internet.

In another example, the first command comprises one or more IP-basedcommands. For example, the control device may generate one or moreIP-based packets that include the first command to the proxy device. Forinstance, integrated control/proxy device 802 may execute a softwareapplication that enables a user to make a selection, for example, via aGUI, for the item of media content and/or the content-providing sourceto provide the item of media content for playback via the media device(media device 606, as shown in FIG. 6) and/or display device (displaydevice 608, as shown in FIG. 6). After making a selection, the softwareapplication and/or command generation logic 806 may generate and provideone or more IP-based packets that include first command 810. Examples ofthe control device include a computer, a mobile device, such as atelephone (e.g., a smart phone), a personal data assistant (PDA), atablet, a laptop, etc. and/or any computing device communicativelycoupled to the network-based device via the Internet.

In accordance with one or embodiments, the first command (e.g., firstcommand 810) further comprises a second identifier that identifies acontent-providing service from which the media device provides the itemof media content.

At step 704, integrated control/proxy device 802 transmits the firstcommand to a network-based device. For example, as shown in FIG. 8,transmit interface 808 transmits first command 810 to the network-baseddevice (e.g., server 610, as shown in FIG. 6).

In accordance with one or more embodiment(s), transmit interface 808transmits first command 810 as one or more IP-based packets. Inaccordance with such embodiments(s), transmit interface 808 may comprisean IP-based transmitter.

At step 706, the control device receives a second command from thenetwork-based device. The second command is configured to cause themedia device to play back the item of media content via a display devicecoupled to the media device. For example, as shown in FIG. 8, receiveinterface 804 may receive a second command 812 from the network-baseddevice (e.g., server 610, as shown in FIG. 6). Network-based device maygenerate the second command in accordance with the embodiments describedin subsection A.

At step 708, the control device transmits the second command to themedia device. For example, with reference to FIG. 8, receive interface804 provides second command 812 to transmit interface 808, and transmitinterface 808 transmits second command 812 to the media device (e.g.,media device 606, as shown in FIG. 6).

In accordance with one or more embodiment(s), transmit interface 808transmits second command 812 as one or more IP-based packets.

In accordance with one or more embodiments, the media device is anInternet streaming device. Examples of media device include, but are notlimited to, an Internet streaming device (e.g., Apple TV®, Roku®, AmazonFire® TV, a Google Chromecast®, etc.), a game console (e.g., Microsoft®Xbox®, Sony® PlayStation®, etc.), and/or any device configured to streammedia content via the Internet.

Further Example Embodiments

A device, as defined herein, is a machine or manufacture as defined by35 U.S.C. § 101. Devices may be digital, analog or a combinationthereof. Devices may include integrated circuits (ICs), one or moreprocessors (e.g., central processing units (CPUs), microprocessors,digital signal processors (DSPs), etc.) and/or may be implemented withany semiconductor technology, including one or more of a BipolarJunction Transistor (BJT), a heterojunction bipolar transistor (HBT), ametal oxide field effect transistor (MOSFET) device, a metalsemiconductor field effect transistor (MESFET) or other transconductoror transistor technology device. Such devices may use the same oralternative configurations other than the configuration illustrated inembodiments presented herein.

Techniques and embodiments, including methods, described herein may beimplemented in hardware (digital and/or analog) or a combination ofhardware and software and/or firmware. Techniques described herein maybe implemented in one or more components. Embodiments may comprisecomputer program products comprising logic (e.g., in the form of programcode or instructions as well as firmware) stored on any computer useablestorage medium, which may be integrated in or separate from othercomponents. Such program code, when executed in one or more processors,causes a device to operate as described herein. Devices in whichembodiments may be implemented may include storage, such as storagedrives, memory devices, and further types of computer-readable media.Examples of such computer-readable storage media include, but are notlimited to, a hard disk, a removable magnetic disk, a removable opticaldisk, flash memory cards, digital video disks, random access memories(RAMs), read only memories (ROM), and the like. In greater detail,examples of such computer-readable storage media include, but are notlimited to, a hard disk associated with a hard disk drive, a removablemagnetic disk, a removable optical disk (e.g., CDROMs, DVDs, etc.), zipdisks, tapes, magnetic storage devices, MEMS (micro-electromechanicalsystems) storage, nanotechnology-based storage devices, as well as othermedia such as flash memory cards, digital video discs, RAM devices, ROMdevices, and the like. Such computer-readable storage media may, forexample, store computer program logic, e.g., program modules, comprisingcomputer executable instructions that, when executed, provide and/ormaintain one or more aspects of functionality described herein withreference to the figures, as well as any and all components, steps andfunctions therein and/or further embodiments described herein.

Computer readable storage media are distinguished from andnon-overlapping with communication media. Communication media embodiescomputer-readable instructions, data structures, program modules orother data in a modulated data signal such as a carrier wave. The term“modulated data signal” means a signal that has one or more of itscharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, and not limitation, communicationmedia includes wired media as well as wireless media such as acoustic,RF, infrared and other wireless media. Example embodiments are alsodirected to such communication media.

The network-based control of a media device embodiments and/or anyfurther systems, sub-systems, and/or components disclosed herein may beimplemented in hardware (e.g., hardware logic/electrical circuitry), orany combination of hardware with software (computer program codeconfigured to be executed in one or more processors or processingdevices) and/or firmware.

The embodiments described herein, including systems, methods/processes,and/or apparatuses, may be implemented using well known processingdevices, telephones (smart phones and/or mobile phones), servers,electronic devices (e.g., consumer electronic devices) and/or,computers, such as a computer 900 shown in FIG. 9. It should be notedthat computer 900 may represent communication devices, processingdevices, servers, and/or traditional computers in one or moreembodiments. For example, control device 104 (as described above inreference to FIG. 1), proxy device 102 and proxy device 302 (asdescribed above in reference to FIGS. 1 and 3, respectively), server110, server 510 and server 610 (as described above in reference to FIGS.1, 5 and 6), integrated control/proxy device 602 and integratedcontrol/proxy device 802 (as described above in reference to FIGS. 6 and8), media device 106 and media device 606 (as described above inreference to FIGS. 1 and 6) and/or display device 108 and display device608 (as described above in reference to FIGS. 1 and 6), and any of thesub-systems, components or sub-components respectively containedtherein, may be implemented using one or more computers 900.

Computer 900 can be any commercially available and well knowncommunication device, processing device, and/or computer capable ofperforming the functions described herein, such as devices/computersavailable from International Business Machines®, Apple®, Sun®, HP®,Dell®, Cray®, Samsung®, Nokia®, etc. Computer 900 may be any type ofcomputer, including a desktop computer, a server, etc.

Computer 900 includes one or more processors (also called centralprocessing units, or CPUs), such as a processor 906. Processor 908 isconnected to a communication infrastructure 902, such as a communicationbus. In some embodiments, processor 906 can simultaneously operatemultiple computing threads.

Computer 900 also includes a primary or main memory 908, such as randomaccess memory (RAM). Main memory 908 has stored therein control logic924 (computer software), and data.

Computer 900 also includes one or more secondary storage devices 910.Secondary storage devices 910 include, for example, a hard disk drive912 and/or a removable storage device or drive 914, as well as othertypes of storage devices, such as memory cards and memory sticks. Forinstance, computer 900 may include an industry standard interface, sucha universal serial bus (USB) interface for interfacing with devices suchas a memory stick. Removable storage drive 914 represents a floppy diskdrive, a magnetic tape drive, a compact disk drive, an optical storagedevice, tape backup, etc.

Removable storage drive 914 interacts with a removable storage unit 916.Removable storage unit 916 includes a computer useable or readablestorage medium 918 having stored therein computer software 926 (controllogic) and/or data. Removable storage unit 916 represents a floppy disk,magnetic tape, compact disk, DVD, optical storage disk, or any othercomputer data storage device. Removable storage drive 914 reads fromand/or writes to removable storage unit 916 in a well-known manner.

Computer 900 also includes input/output/display devices 904, such astouchscreens, LED and LCD displays, monitors, keyboards, pointingdevices, etc.

Computer 900 further includes a communication or network interface 918.Communication interface 920 enables computer 900 to communicate withremote devices. For example, communication interface 920 allows computer900 to communicate over communication networks or mediums 922(representing a form of a computer useable or readable medium), such asLANs, WANs, the Internet, etc. Network interface 920 may interface withremote sites or networks via wired or wireless connections.

Control logic 928 may be transmitted to and from computer 900 via thecommunication medium 922.

Any apparatus or manufacture comprising a computer useable or readablemedium having control logic (software) stored therein is referred toherein as a computer program product or program storage device. Thisincludes, but is not limited to, computer 900, main memory 908,secondary storage devices 910, and removable storage unit 916. Suchcomputer program products, having control logic stored therein that,when executed by one or more data processing devices, cause such dataprocessing devices to operate as described herein, represent embodimentsof the invention.

Any apparatus or manufacture comprising a computer useable or readablemedium having control logic (software) stored therein is referred toherein as a computer program product or program storage device. Thisincludes, but is not limited to, a computer, computer main memory,secondary storage devices, and removable storage units. Such computerprogram products, having control logic stored therein that, whenexecuted by one or more data processing devices, cause such dataprocessing devices to operate as described herein, represent embodimentsof the inventive techniques described herein.

In an embodiment, a method implemented by a proxy device communicativelycoupled to a media device is described. The method includes receiving,by the proxy device, a first command comprising a first identifier thatidentifies an item of media content to be played back via the mediadevice, transmitting, by the proxy device, the first command to anetwork-based device, receiving, by the proxy device, a second commandfrom the network-based device, the second command configured to causethe media device to play back the item of media content via a displaydevice coupled to the media device, and transmitting, by the proxydevice, the second command to the media device.

In an embodiment of the method, the media device is an Internetstreaming device.

In an embodiment of the method, the proxy device and the media deviceare connected to a first network.

In an embodiment of the method, the first command is initiated from adevice that is not connected to the first network.

In an embodiment of the method, the proxy device is configured toreceive the first command via at least one of an infrared (IR)-basedcommunication protocol, or a radio frequency (RF)-based communicationprotocol.

In an embodiment of the method, the first command is based on avoice-based command.

In an embodiment of the method, the first command is initiated from adevice that is connected to the first network.

In an embodiment of the method, the first command comprises an IP-basedcommand.

In an embodiment of the method, the method further includes receiving,by the proxy device, the item of media content from the media device,and providing, by the proxy device, the item of media content to thedisplay device for playback thereby.

In an embodiment of the method, the first command further comprises asecond identifier that identifies a content-providing service from whichthe media device provides the item of media content.

In another embodiment, a method implemented by a control devicecommunicatively coupled to a media device is described herein. Themethod includes generating, by the control device, a first commandcomprising a first identifier that identifies an item of media contentto be played back via the media device, transmitting, by the controldevice, the first command to a network-based device, receiving, by thecontrol device, a second command from the network-based device, thesecond command configured to cause the media device to play back theitem of media content via a display device coupled to the media device,and transmitting, by the control device, the second command to the mediadevice.

In an embodiment of the method, the media device is an Internetstreaming device.

In an embodiment of the method, the control device and the media deviceare connected to a first network.

In an embodiment of the method, the first command is based on avoice-based command.

In an embodiment of the method, the first command further comprises asecond identifier that identifies a content-providing service from whichthe media device provides the item of media content.

In a further embodiment, a method implemented by a network-based deviceis described herein. The method includes receiving a first command thatcomprises a first identifier that identifies an item of media content tobe played back via a media device that is remotely located from thenetwork-based device, the first command being in accordance with a firstoperating protocol, translating the first command into a second command,the second command being in accordance with a second operating protocolthat is compatible with the media device, and transmitting the secondcommand to a proxy device communicatively coupled to the network-baseddevice and the media device.

In an embodiment of the method, the method further includes maintainingmetadata associated with items of media content provided by one or morecontent providing sources, and providing the metadata to the proxydevice, the proxy device being operable to render a graphical userinterface to be displayed on a display device using the metadata.

In an embodiment of the method, the first command further comprises asecond identifier that identifies a content-providing service from whichthe media device provides the item of media content.

In an embodiment of the method, the second command comprises at leastone of the first identifier and the second identifier.

In an embodiment of the method, the first command comprises at least oneof:

an SMS-based message; or

an IP-based command.

CONCLUSION

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. It will be apparent to persons skilled in the relevantart(s) that various changes in form and detail can be made thereinwithout departing from the spirit and scope of the embodiments. Thus,the breadth and scope of the embodiments should not be limited by any ofthe above-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

What is claimed is:
 1. A method implemented by a network-based device,comprising: receiving, from a proxy device, a message identifying afirst operating protocol that is utilized by a media device that isremotely located from the network-based device, the first operatingprotocol being determined based on communications between the proxydevice and the media device, the proxy device being remotely locatedfrom the network-based device; receiving a first command that comprisesa first identifier that identifies an item of media content to be playedback via the media device, the first command being in accordance with asecond operating protocol that is incompatible with the media device;accessing a data structure that maps the first operating protocol to themedia device based on the message to determine that the media deviceutilizes the first operating protocol; translating the first commandinto a second command, the second command being in accordance with thefirst operating protocol and being configured to cause the media deviceto play back the item of media content via a display device; andtransmitting the second command to the proxy device that iscommunicatively coupled between the network-based device and the mediadevice for transmission to the media device.
 2. The method of claim 1,further comprising: maintaining metadata associated with items of mediacontent provided by one or more content providing sources; and providingthe metadata to the proxy device, the proxy device being operable torender a graphical user interface to be displayed on a display deviceusing the metadata.
 3. The method of claim 1, wherein the first commandfurther comprises a second identifier that identifies acontent-providing service from which the media device provides the itemof media content.
 4. The method of claim 3, wherein the second commandcomprises at least one of the first identifier and the secondidentifier.
 5. The method of claim 1, wherein the first commandcomprises at least one of: an SMS-based message; or an IP-based command.6. The method of claim 1, wherein the data structure further maps alocation identifier associated with the media device to the mediadevice.
 7. The method of claim 1, wherein the media device is anInternet streaming device.
 8. A network-based device, comprising: one ormore processors; and one or more memory devices connected to the one ormore processors, the one or more memory devices storing computer programlogic that is executable by the one or more processors, the computerprogram logic, when executed, being configured to: receive, from a proxydevice, a message identifying a first operating protocol that isutilized by a media device that is remotely located from thenetwork-based device, the first operating protocol being determinedbased on communications between the proxy device and the media device,the proxy device being remotely located from the network-based device;receive a first command that comprises a first identifier thatidentifies an item of media content to be played back via the mediadevice, the first command being in accordance with a second operatingprotocol that is incompatible with the media device; access a datastructure that maps an operating protocol used by the media device tothe media device to determine that the media device utilizes the firstoperating protocol; translate the first command into a second command,the second command being in accordance with the first operating protocoland being configured to cause the media device to play back the item ofmedia content via a display device; and transmit the second command tothe proxy device that is communicatively coupled between thenetwork-based device and the media device for transmission to the mediadevice.
 9. The network-based device of claim 8, further comprising:maintaining metadata associated with items of media content provided byone or more content providing sources; and providing the metadata to theproxy device, the proxy device being operable to render a graphical userinterface to be displayed on a display device using the metadata. 10.The network-based device of claim 8, wherein the first command furthercomprises a second identifier that identifies a content-providingservice from which the media device provides the item of media content.11. The network-based device of claim 10, wherein the second commandcomprises at least one of the first identifier and the secondidentifier.
 12. The network-based device of claim 8, wherein the firstcommand comprises at least one of: an SMS-based message; or an IP-basedcommand.
 13. The network-based device of claim 8, wherein the datastructure further maps a location identifier associated with the mediadevice to the media device.
 14. The network-based device of claim 8,wherein the media device is an Internet streaming device.
 15. Anon-transitory computer-readable storage medium having programinstructions recorded thereon that, when executed by at least oneprocessor, perform a method implemented by a network-based device forcontrolling a media device, the method comprising: receiving, from aproxy device, a message identifying a first operating protocol that isutilized by the media device that is remotely located from thenetwork-based device, the first operating protocol being determinedbased on communications between the proxy device and the media device,the proxy device being remotely located from the network-based device;receiving a first command that comprises a first identifier thatidentifies an item of media content to be played back via the mediadevice, the first command being in accordance with a second operatingprotocol that is incompatible with the media device; accessing a datastructure that maps an operating protocol used by the media device tothe media device to determine that the media device utilizes the firstoperating protocol; translating the first command into a second command,the second command being in accordance with the first operating protocoland being configured to cause the media device to play back the item ofmedia content via a display device; and transmitting the second commandto the proxy device that is communicatively coupled between thenetwork-based device and the media device for transmission to the mediadevice.
 16. The non-transitory computer-readable storage medium of claim15, further comprising: maintaining metadata associated with items ofmedia content provided by one or more content providing sources; andproviding the metadata to the proxy device, the proxy device beingoperable to render a graphical user interface to be displayed on adisplay device using the metadata.
 17. The non-transitorycomputer-readable storage medium of claim 15, wherein the first commandfurther comprises a second identifier that identifies acontent-providing service from which the media device provides the itemof media content.
 18. The non-transitory computer-readable storagemedium of claim 17, wherein the second command comprises at least one ofthe first identifier and the second identifier.
 19. The non-transitorycomputer-readable storage medium of claim 15, wherein the first commandcomprises at least one of: an SMS-based message; or an IP-based command.20. The non-transitory computer-readable storage medium of claim 15,wherein the data structure further maps a location identifier associatedwith the media device to the media device.